package com.payment.system.mapper;

import com.payment.common.annotation.DataSource;
import com.payment.common.enums.DataSourceType;
import com.payment.system.domain.CardBin;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 卡bin维护 数据层
 * 
 * @author payment
 * @date 2018-12-27
 */
public interface CardBinMapper 
{
	/**
     * 查询卡bin维护信息
     * 
     * @param iD 卡bin维护ID
     * @return 卡bin维护信息
     */
	@DataSource(DataSourceType.SLAVE)
	public CardBin selectCardBinById(String iD);
	/**
     * 查询卡bin信息根据卡号和卡号长度
     * 
     * @return 卡bin维护信息
     */
	@DataSource(DataSourceType.SLAVE)
	public CardBin selectCardBinByBankNo(@Param("bankLength") Integer bankLength, @Param("bankNo") String bankNo);
	
	/**
     * 查询卡bin维护列表
     * 
     * @param cardBin 卡bin维护信息
     * @return 卡bin维护集合
     */
	@DataSource(DataSourceType.SLAVE)
	public List<CardBin> selectCardBinList(CardBin cardBin);
	
	/**
     * 新增卡bin维护
     * 
     * @param cardBin 卡bin维护信息
     * @return 结果
     */
	public int insertCardBin(CardBin cardBin);
	
	/**
     * 修改卡bin维护
     * 
     * @param cardBin 卡bin维护信息
     * @return 结果
     */
	public int updateCardBin(CardBin cardBin);
	
	/**
     * 删除卡bin维护
     * 
     * @param iD 卡bin维护ID
     * @return 结果
     */
	public int deleteCardBinById(String iD);
	
	/**
     * 批量删除卡bin维护
     * 
     * @param iDs 需要删除的数据ID
     * @return 结果
     */
	public int deleteCardBinByIds(String[] iDs);
	
}